home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / ISSUE08 / CLINIC / PROGRAMS.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1995-12-28  |  1.3 KB  |  71 lines

  1. unit Programs;
  2.  
  3. interface
  4.  
  5. uses Classes;
  6.  
  7. procedure GetTaskModules(Strings: TStrings);
  8.  
  9. procedure GetTaskExes(Strings: TStrings);
  10.  
  11. procedure GetModules(Strings: TStrings);
  12.  
  13. procedure GetModuleExes(Strings: TStrings);
  14.  
  15. implementation
  16.  
  17. uses ToolHelp, SysUtils;
  18.  
  19. procedure GetTaskModules(Strings: TStrings);
  20. var
  21.   TE: TTaskEntry;
  22. begin
  23.   Strings.Clear;
  24.   TE.dwSize := SizeOf(TE);
  25.   if TaskFirst(@TE) then
  26.     repeat
  27.       Strings.Add(StrPas(TE.szModule));
  28.     until not TaskNext(@TE);
  29. end;
  30.  
  31. procedure GetTaskExes(Strings: TStrings);
  32. var
  33.   TE: TTaskEntry;
  34.   ME: TModuleEntry;
  35. begin
  36.   Strings.Clear;
  37.   TE.dwSize := SizeOf(TE);
  38.   ME.dwSize := SizeOf(ME);
  39.   if TaskFirst(@TE) then
  40.     repeat
  41.       ModuleFindHandle(@ME, TE.hModule);
  42.       Strings.Add(StrPas(ME.szExePath));
  43.     until not TaskNext(@TE);
  44. end;
  45.  
  46. procedure GetModules(Strings: TStrings);
  47. var
  48.   ME: TModuleEntry;
  49. begin
  50.   Strings.Clear;
  51.   ME.dwSize := SizeOf(ME);
  52.   if ModuleFirst(@ME) then
  53.     repeat
  54.       Strings.Add(StrPas(ME.szModule));
  55.     until not ModuleNext(@ME);
  56. end;
  57.  
  58. procedure GetModuleExes(Strings: TStrings);
  59. var
  60.   ME: TModuleEntry;
  61. begin
  62.   Strings.Clear;
  63.   ME.dwSize := SizeOf(ME);
  64.   if ModuleFirst(@ME) then
  65.     repeat
  66.       Strings.Add(StrPas(ME.szExePath));
  67.     until not ModuleNext(@ME);
  68. end;
  69.  
  70. end.
  71.